package net.softwarefabrik.bde.core.model;

/**
 * A container for the IDE independent constants used by BDE.
 * 
 * @author Matthias Kuespert
 */
public class BDEConstants {

    /**
     * An empty <code>String</code>.
     */
    public static final String EMPTY_STRING            = "";

    /**
     * Separator for file names.
     */
    public static final String STD_FILE_SEPARATOR      = "/";

    /**
     * Separator for text lines.
     */
    public static final String STD_LINE_SEPARATOR      = "\n";

    /**
     * Separator in package names.
     */
    public static final String STD_PACKAGE_SEPARATOR   = ".";

    /**
     * Separator used to mark a following extension.
     */
    public static final String STD_EXTENSION_SEPARATOR = ".";

    public static final String STD_EXTENSION_JAR = ".jar";

    /**
     * Separator used to mark a following version.
     */
    public static final String STD_VERSION_SEPARATOR   = "-";

    public static final String STD_VALUE_SEPARATOR   = ";";
    
    public static final String STD_LIST_VALUE_SEPARATOR   = ",";

    /**
     * The location of the manifest - relative to the .jar root.
     */
    public static final String MANIFEST_LOCATION       = "META-INF/MANIFEST.MF";

    /**
     * The location of the bnd file - relative to the project root.
     */
    public static final String BND_LOCATION            = "bundle.bnd";

    /**
     * The header used to store the group ID we need as maven coordinate.
     */
    public static String       MAVEN_GROUPID           = "Maven-GroupId";

    /**
     * The file protocol prefix.
     * 
     * TODO: check if to be obsoleted - should we allow dependencies on abitrary files?
     */
    public static final String PROTOCOL_FILE           = "file:";

    /**
     * The workspace protocol prefix.
     */
    public static final String PROTOCOL_WORKSPACE      = "workspace:";

    /**
     * The variable protocol prefix.
     */
    public static final String PROTOCOL_VARIABLE       = "variable:";

    /**
     * The Maven 2 protocol prefix.
     */
    public static final String PROTOCOL_MAVEN2         = "maven2:";

    /**
     * The OBR protocol prefix.
     */
    public static final String PROTOCOL_OBR            = "obr:";
}
